/**
 * 一个可以用于表示LRC文件的模型对象
 * 表示歌词中的一句(唯一时间点)
 * @param time 歌词演唱的时间点,毫秒计
 * @param text 歌词文本
 * @constructor 实例一个非空对象
 */
function LrcModel(time, text) {
    if (!time) throw  new Error('time不是一个有效整数,value:' + time);
    if (!text) throw  new Error('歌词文本text不能为空');

    this.time = Number(time);
    this.text = text;
}


/**
 * 歌曲的模型对象, 有标题, 歌词, 演唱者等信息
 * @constructor 一个空的对象, 具体数据需要自己配置
 */
function SongModel() {
    this.title = '';    // 标题
    this.artist = '';   // 演唱者
    this.lrcs = [];     // 歌词, 元素类型是LrcModel
}


/**
 * 回去SongModel的字符串表示
 * @returns {string} 一个字符串
 */
SongModel.prototype.toString = function () {
    var str = '';
    str += '标题: ' + this.title + '\n';
    str += '演唱者: ' + this.artist + '\n';
    for (var i = 0; i < this.lrcs.length; i++) {
        str += this.lrcs[i].time + ':' + this.lrcs[i].text + '\n';
    }
    return str;
}